#[derive(Debug)]
enum GenderType {
    Male,
    Female,
}

#[derive(Debug)]
enum Gender {
    Male(u32),
    Female(String),
}

fn main() {
    println!("枚举类型, rust 枚举与go 区别很大, 通常 go会将 enum 定义为一个基础类型, 而rust的enum就是用来定义类型的.");

    let gender = GenderType::Male;
    println!("性别类型: {:?}", gender);
    println!("性别类型: {:?}", GenderType::Female);

    // 指定类型
    println!("{:?}", Gender::Male(5));
    println!("{:?}", Gender::Female("女".to_string()));

    // Option
    let none_int: Option<i32> = Some(5);
    println!("{:?}", none_int);
    println!("none_int 是否空值 {}", none_int.is_none())
}
